﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Urb.Weather.Core.Container
{
    public interface IContainer
    {
        IContainer RegisterType<TFrom, TTo>() where TTo : TFrom;
        IContainer RegisterTypeContainerControlled<TFrom, TTo>() where TTo : TFrom;
        IContainer RegisterInstance<TFrom>(TFrom instance);
        IContainer RegisterInstanceContainerControlled<TFrom>(TFrom instance);

        T Resolve<T>();
        T Resolve<T>(Type type);
    }
}
